1. Technical Field
The present invention relates to data processing in general, and in particular to a method for migrating information between computer systems. Still more particularly, the present invention relates to a method for migrating a base chip key from a first computer system to a second computer system.
2. Description of the Prior Art
A public-private key pair is a set of two keys with which one is required to decrypt the other. For example, a public key is required to decrypt a private key and vice versa. Each of the two keys within a public-private key pair acts as an inverse function to each other in much the same way as a square and a square-root function do. But unlike a mathematical inverse function, a private key cannot be computationally derived from a public key, and vice versa. Generally speaking, public-private key pairs are commonly used for three purposes. First, data encryption-information sent to a receiver can be encrypted using the receiver's public key so only the receiver can decipher the information. Second, data authentication-data sent by a sender can be signed by the sender's private key to prove the data was actually from the sender. Third, certification-a public key along with its owner is signed by a Certificate Authority to generate a certificate guaranteeing that the public key does belong to the owner of the private portion of a private/public key pair.
In order to ensure the privacy of private keys, the computer industry inclines to store private keys in hardware, such as a security chip. Stored private keys are never exposed to the system memory area of a computer system, and thus, stored private keys are protected from exposure to any unauthorized users. Because of the versatility of private keys, a computer user probably wants to have many private keys in his/her computer system. But due to the relatively high cost of storing a large number of private keys in a security chip, a daisy chain method of storage is utilized to store a large number of private keys in a single computer system. For example, only one private key, typically known as the base chip key, is stored persistently on a security chip, and all other private keys are stored in a hard disk after being encrypted using a public key whose private key to which the security chip has access.
For security reasons, the base chip key of a computer system will be generated entirely inside a security chip of the computer system, so the base chip key never leaves the security chip. Thus, the security chip is the only entity able to decrypt and use other private keys stored in the hard disk of the associated computer system. Since some of those private keys may be used to uniquely identify the associated computer system, it is important to ensure that the base chip key cannot be “clonable” (i.e., duplicated) in another computer system. Otherwise, those private keys could no longer be used to prove the uniqueness of the computer system.
Nevertheless, sooner or later, a user may want to upgrade the computer system to a newer model that is faster and has more capabilities. Although all the private keys from the old computer system can be reissued for the new computer system and new certificates can be obtained for all the private keys on the new computer system when a user want to upgrade the computer system, it would be much easier for the user if he/she were able to simply move the base chip key from the old computer system to the new computer system. Then, all the private keys stored in the hard disk of the old computer system can also be effortlessly transferred to the hard disk of the new computer system.
The present disclosure provides a method for migrating a base chip key from an old computer system to a new computer system without winding up with two computer systems simultaneously having the same base chip key.